64 research outputs found

    Invariant discovery and refinement plans for formal modelling in Event-B

    Get PDF
    The continuous growth of complex systems makes the development of correct software increasingly challenging. In order to address this challenge, formal methods o er rigorous mathematical techniques to model and verify the correctness of systems. Refinement is one of these techniques. By allowing a developer to incrementally introduce design details, refinement provides a powerful mechanism for mastering the complexities that arise when formally modelling systems. Here the focus is on a posit-and-prove style of refinement, where a design is developed as a series of abstract models introduced via refinement steps. Each refinement step generates proof obligations which must be discharged in order to verify its correctness – typically requiring a user to understand the relationship between modelling and reasoning. This thesis focuses on techniques to aid refinement-based formal modelling, specifically, when a user requires guidance in order to overcome a failed refinement step. An integrated approach has been followed: combining the complementary strengths of bottomup theory formation, in which theories about domains are built based on basic background information; and top-down planning, in which meta-level reasoning is used to guide the search for correct models. On the theory formation perspective, we developed a technique for the automatic discovery of invariants. Refinement requires the definition of properties, called invariants, which relate to the design. Formulating correct and meaningful invariants can be tedious and a challenging task. A heuristic approach to the automatic discovery of invariants has been developed building upon simulation, proof-failure analysis and automated theory formation. This approach exploits the close interplay between modelling and reasoning in order to provide systematic guidance in tailoring the search for invariants for a given model. On the planning perspective, we propose a new technique called refinement plans. Refinement plans provide a basis for automatically generating modelling guidance when a step fails but is close to a known pattern of refinement. This technique combines both modelling and reasoning knowledge, and, contrary to traditional pattern techniques, allow the analysis of failure and partial matching. Moreover, when the guidance is only partially instantiated, and it is suitable, refinement plans provide specialised knowledge to further tailor the theory formation process in an attempt to fully instantiate the guidance. We also report on a series of experiments undertaken in order to evaluate the approaches and on the implementation of both techniques into prototype tools. We believe the techniques presented here allow the developer to focus on design decisions rather than on analysing low-level proof failures

    Design Considerations for Real-Time Collaboration with Creative Artificial Intelligence

    Get PDF
    Machines incorporating techniques from artificial intelligence and machine learning can work with human users on a moment-to-moment, real-time basis to generate creative outcomes, performances and artefacts. We define such systems collaborative, creative AI systems, and in this article, consider the theoretical and practical considerations needed for their design so as to support improvisation, performance and co-creation through real-time, sustained, moment-to-moment interaction. We begin by providing an overview of creative AI systems, examining strengths, opportunities and criticisms in order to draw out the key considerations when designing AI for human creative collaboration. We argue that the artistic goals and creative process should be first and foremost in any design. We then draw from a range of research that looks at human collaboration and teamwork, to examine features that support trust, cooperation, shared awareness and a shared information space. We highlight the importance of understanding the scope and perception of two-way communication between human and machine agents in order to support reflection on conflict, error, evaluation and flow. We conclude with a summary of the range of design challenges for building such systems in provoking, challenging and enhancing human creative activity through their creative agency

    Examining Student Coding Behaviours in Creative Computing Lessons using Abstract Syntax Trees and Vocabulary Analysis

    Get PDF
    Creative computing is an approach to computing education which emphasises the creation of interactive audiovisual software and an art-school influenced pedagogy. Given this emphasis on Dewey’s "learning by doing”, we set out to investigate the processes students use to develop their programs. We refer to these processes as the students’ ‘coding behaviour’, and we expect that understanding it will provide us with valuable information about how students learn in our creative computing classes. As existing metrics were not sufficient, we introduce a new set of quantitative metrics to describe coding behaviours. The metrics consider factors such as students’ vocabulary use and development, how fast and how much they alter the functionality of code over time and how they iterate on their code through text insert and delete operations. Many of our lessons involve providing students with demonstrator code which they use as a base for the development of their programs, so we use demo code as an entry point to our dataset. We look at programs students have written through developing the demo code in a dataset of over 16,000 programs. We clustered the demo code using the set of descriptive metrics. This lead to a set of clusters containing programs which are associated with distinct coding behaviours. Four was the ideal number of clusters for cluster density and separation. We found that the clusters had distinct behaviour patterns, that they were associated with different instructors and that they contained demo programs with different lengths

    Reasoned modelling critics: turning failed proofs into modelling guidance

    No full text
    The activities of formal modelling and reasoning are closely related. But while the rigour of building formal models brings significant benefits, formal reasoning remains a major barrier to the wider acceptance of formalism within design. Here we propose reasoned modelling critics — an approach which aims to abstract away from the complexities of low-level proof obligations, and provide high-level modelling guidance to designers when proofs fail. Inspired by proof planning critics, the technique combines proof-failure analysis with modelling heuristics. Here, we present the details of our proposal, implement them in a prototype and outline future plans

    Technology Enhanced Learning: The Role of Ontologies for Feedback in Music Performance

    Get PDF
    In this paper, we present an analysis of feedback as it occurs in classroom-based and technology supported music instrument learning. Feedback is key to learning in music education and we have developed technology based on ideas from social media and audio annotation which aims to make feedback more effective. The analysis here aims to enhance our understanding of technology-mediated feedback. The result of this analysis is three ontologies describing feedback and feedback systems. First, we developed the teacher's ontology using a qualitative, observational approach to describe the types of feedback that music instrument tutors give to their students. We used this ontology to inform the design of an online music annotation platform for music students. Second, we develop the grounded ontology using a grounded theory approach, based on 2,000 annotations made by students and tutors using the annotation platform. We compare the grounded and teacher's ontologies by examining structural, semantic and expressive features. Through this comparison, we find that the grounded ontology includes elements of the teacher's ontology as well as elements relating to practical and social aspects of the annotation platform, while the teacher's ontology contains more domain knowledge. Third, we formalize the transactional capabilities of the platform into the third ontology, the platform ontology, which we have written in the OWL language, and show how this allows us to develop several practical use cases, including the use of semantic web capabilities in music education contexts

    Automating Fictional Ideation using ConceptNet

    Get PDF
    The invention of fictional ideas (ideation) is often a cen- tral process in producing artefacts such as poems, music and paint- ings in a creative way. Automated fictional ideation should, there- fore, be of much interest in the study of Computational Creativity, but only a few approaches have been explored. We describe here the preliminary results of a new method for automated generation and evaluation of fictional ideas which uses ConceptNet, a semantic net- work. We evaluate the results obtained through a small study that involves participants scoring ideas via an online survey. We believe this approach constitutes a firm basis on which a more sophisticated model for automated creative ideation can be built

    What If A Fish Got Drunk? Exploring the Plausibility of Machine-Generated Fictions

    Get PDF
    Abstract Within the WHIM project, we study fictional ideation: processes for automatically inventing, assessing and presenting fictional ideas. Here we examine the foundational notion of the plausibility of fictional ideas, by performing an empirical study to surface the factors that affect judgements of plausibility. Our long term aim is to formalise a computational method which captures some intuitive notions of plausibility and can predict how certain types of people will assess the plausibility of certain types of fictional ideas. This paper constitutes a first firm step towards this aim

    What If A Fish Got Drunk? Exploring the Plausibility of Machine-Generated Fictions

    Get PDF
    Within the WHIM project, we study fictional ideation: processes for automatically inventing, assessing and presenting fictional ideas. Here we examine the foundational notion of the plausibility of fictional ideas, by performing an empirical study to surface the factors that affect judgements of plausibility. Our long term aim is to formalise a computational method which captures some intuitive notions of plausibility and can predict how certain types of people will assess the plausibility of certain types of fictional ideas. This paper constitutes a first firm step towards this aim
    • 

    corecore